跳到主要内容

Java 经典面试题

最近有很多粉丝问我,有什么方法能够快速提升自己,通过阿里、腾讯、字节跳动、京东等互联网大厂的面试,我觉得短时间提升自己最快的手段就是背面试题,最近总结了Java常用的面试题,分享给大家,希望大家都能圆梦大厂,加油,我命由我不由天。

1、JDK 和 JRE 有什么区别?

JDK(Java Development Kit),Java开发工具包

JRE(Java Runtime Environment),Java运行环境

JDK中包含JRE,JDK中有一个名为jre的目录,里面包含两个文件夹bin和lib,bin就是JVM,lib就是JVM工作所需要的类库。

2、== 和 equals 的区别是什么?

1、 对于基本类型,==比较的是值;
2、 对于引用类型,==比较的是地址;
3、 equals不能用于基本类型的比较;
4、 如果没有重写equals,equals就相当于==;
5、 如果重写了equals方法,equals比较的是对象的内容;

3、final 在 java 中有什么作用?

(1)用来修饰一个引用

1、 如果引用为基本数据类型,则该引用为常量,该值无法修改;
2、 如果引用为引用数据类型,比如对象、数组,则该对象、数组本身可以修改,但指向该对象或数组的地址的引用不能修改;
3、 如果引用时类的成员变量,则必须当场赋值,否则编译会报错;

(2)用来修饰一个方法

当使用final修饰方法时,这个方法将成为最终方法,无法被子类重写。但是,该方法仍然可以被继承。

(3)用来修饰类

当用final修改类时,该类成为最终类,无法被继承。

比如常用的String类就是最终类。

4、java 中的 Math.round(-1.5) 等于多少?

Math提供了三个与取整有关的方法:ceil、floor、round

(1)ceil:向上取整;

Math.ceil(11.3) = 12;

Math.ceil(-11.3) = 11;

(2)floor:向下取整;

Math.floor(11.3) = 11;

Math.floor(-11.3) = -12;

(3)round:四舍五入;

加0.5然后向下取整。